#ifndef H_NET_SESSION_H
#define H_NET_SESSION_H

#include <sys/socket.h>
#include <arpa/inet.h>
#include <memory>

namespace QinChat{
    namespace Net{
        class CSession : public std::enable_shared_from_this<CSession>{
            public:
                explicit CSession(const struct sockaddr_in& client_addr, int fd);
                ~CSession();

            public:
                int GetFd(void) const ;
                void Recv(char* pszMessage, int len);
                void Send(char* pszMessage, int len);

            private:
                int m_clientfd = -1;
                struct sockaddr_in m_clientAddr;
        };
    }
}

#endif // !H_NET_SESSION_H